package com.jinzhi.jzweb.domain;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;

import com.baomidou.mybatisplus.enums.FieldStrategy;
import com.jinzhi.jzweb.domain.param.UserExamineStatus;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 
 * <pre>
 * 报名用户（选手）表
 * </pre>
 * <small> 2024-09-05 15:21:59 | Long</small>
 */
@Data
@SuppressWarnings("serial")
@TableName("jaz_signup_user")
//这是的这里继承的基础服务类，有几个基本字段
public class JazSignupUserDO implements Serializable {
	@TableId
	private Long id;

    /** 创建时间 */
    @TableField("create_time")
    private Date createTime;

    /** 修改时间 */
    @TableField("update_time")
    private Date updateTime;

    /** 用户id，与user表的id关联 */
    @TableField("user_id")
    private Long userId;

    /** 组别id与jaz_signup_group表的id关联 */
    @TableField("group_id")
    private Long groupId;

    /** 项目id与jaz_signup_item表的id关联 */
    @TableField("item_id")
    private Long itemId;

    /** '选手姓名（或领队姓名） */
    @TableField("name")
    private String name;

    /** 选手类型（1 领队、2 参赛选手） */
    @TableField("type")
    private Integer type;

    /** 性别（0未知，1男，2女） */
    @TableField("sex")
    private Integer sex;

    /** 民族 */
    @TableField("nation")
    private String nation;

    /** 政治面貌 */
    @TableField("politics")
    private String politics;

    /** 文化程度 */
    @TableField("standard")
    private String standard;

    /** 身份证号码 */
    @TableField("identity_card")
    private String identityCard;

    /** 身份证图片 */
    @TableField("identity_card_img")
    private String identityCardImg;

    /** 从业时长 */
    @TableField("working")
    private String working;

    /** 工作单位名称 */
    @TableField("org_name")
    private String orgName;

    /** 手机号 */
    @TableField("phone")
    private String phone;

    /** 用户个人照片(多张,号隔开） */
    @TableField("user_img")
    private String userImg;

    /** 个人简介 */
    @TableField("brief")
    private String brief;

    /** 个人荣誉 */
    @TableField("honor")
    private String honor;

    /** 自荐绝活...个人技能的意思。 */
    @TableField("skill")
    private String skill;

    /** 报名表格（是个文件还没确定类型） */
    @TableField("apply_form")
    private String applyForm;

    /** 其它信息（多张图片以,号隔开） */
    @TableField("other")
    private String other;

    /** '拒绝原因' */
    @TableField(value = "refuse_reasion",strategy = FieldStrategy.IGNORED)
    private String  refuseReasion;

    /**
     * 审核状态( 1 待审核 2 已审核 3 已取消)
     */
    @TableField("status")
    private Integer status;

    /**
     * 审核结果（1 已通过 2 未通过）
     */
    @TableField("result")
    private Integer result;

    /** ''审核时间'' */
    @TableField(value = "review_time",strategy = FieldStrategy.IGNORED)
    private Date  reviewTime;

    /** '历史审核记录' */
    @TableField("history_review")
    private String  historyReview;

    /** '队伍id(与jaz_signup_team表中的id一致)' */
    @TableField(value = "team_id",strategy = FieldStrategy.IGNORED)
    private Long  teamId;

    /** ''信息填写人'' */
    @TableField("information_name")
    private String  informationName;

    /** ''联系方式'' */
    @TableField("information_phone")
    private String  informationPhone;

    /** ''单位名称'' */
    @TableField("unit_name")
    private String  unitName;

    /** '所属市州' */
    @TableField("city")
    private String  city;

    /** '所属院校' */
    @TableField("school")
    private String  school;

    /** '队伍名称' */
    @TableField(value = "team_name",strategy = FieldStrategy.IGNORED)
    private String  teamName;


    /** '出生年月'*/
    @TableField("birthday")
    private String  birthday;


    /** '衣服尺码'*/
    @TableField("size")
    private String  size;


    /**
     * 组别名称
     */
    @TableField(exist = false)
    private String groupName;

    /**
     * 参赛项目名称
     */
    @TableField(exist = false)
    private String itemName;

    /**
     * 历史审核信息
     */
    @TableField(exist = false)
    private List<UserExamineStatus> examineList;

}
